<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Pin: SYM: Symbol Object</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Pin
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">SYM: Symbol Object<div class="ingroups"><a class="el" href="group__API__REF.html">Instrumentation API Reference</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classSymbolAddressRange.html">SymbolAddressRange</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structSymbolDebugInfo.html">SymbolDebugInfo</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga8b0c33dda59c8d399096714c6307f23d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SYMBOLS.html#ga8b0c33dda59c8d399096714c6307f23d">UNDECORATION</a> { <br />
&#160;&#160;<a class="el" href="group__SYMBOLS.html#gga8b0c33dda59c8d399096714c6307f23da869b5424f40c8d015768c8b0de405d4b">UNDECORATION_COMPLETE</a>, 
<br />
&#160;&#160;<a class="el" href="group__SYMBOLS.html#gga8b0c33dda59c8d399096714c6307f23da573ccc7d32ef44f469a6c0f367cbfedf">UNDECORATION_NAME_ONLY</a>
<br />
 }</td></tr>
<tr class="separator:ga8b0c33dda59c8d399096714c6307f23d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga5b8694c228627870fa2a43595b8ffc86"><td class="memItemLeft" align="right" valign="top">SYM&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SYMBOLS.html#ga5b8694c228627870fa2a43595b8ffc86">SYM_Next</a> (SYM x)</td></tr>
<tr class="separator:ga5b8694c228627870fa2a43595b8ffc86"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga23bee60e01a98b84bf5620e941dd5ba6"><td class="memItemLeft" align="right" valign="top">SYM&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SYMBOLS.html#ga23bee60e01a98b84bf5620e941dd5ba6">SYM_Prev</a> (SYM x)</td></tr>
<tr class="separator:ga23bee60e01a98b84bf5620e941dd5ba6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaef5c779a90d7eb566bb2c940dcbf1efd"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SYMBOLS.html#gaef5c779a90d7eb566bb2c940dcbf1efd">SYM_Name</a> (SYM x)</td></tr>
<tr class="separator:gaef5c779a90d7eb566bb2c940dcbf1efd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga17e013be5a1296fa67398439718d2391"><td class="memItemLeft" align="right" valign="top">SYM&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SYMBOLS.html#ga17e013be5a1296fa67398439718d2391">SYM_Invalid</a> ()</td></tr>
<tr class="separator:ga17e013be5a1296fa67398439718d2391"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga22feb0e88290967f67e25ffc8a520dc1"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SYMBOLS.html#ga22feb0e88290967f67e25ffc8a520dc1">SYM_Valid</a> (SYM x)</td></tr>
<tr class="separator:ga22feb0e88290967f67e25ffc8a520dc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad6c2b77869913517813f1e000778f6ff"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SYMBOLS.html#gad6c2b77869913517813f1e000778f6ff">SYM_Dynamic</a> (SYM x)</td></tr>
<tr class="separator:gad6c2b77869913517813f1e000778f6ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gade3b1d3f6321f6ce86f6b51d5eebb030"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SYMBOLS.html#gade3b1d3f6321f6ce86f6b51d5eebb030">SYM_GeneratedByPin</a> (SYM x)</td></tr>
<tr class="separator:gade3b1d3f6321f6ce86f6b51d5eebb030"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2f78e9f7400e375397964fd28bb92983"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SYMBOLS.html#ga2f78e9f7400e375397964fd28bb92983">SYM_IFuncImplementation</a> (SYM x)</td></tr>
<tr class="separator:ga2f78e9f7400e375397964fd28bb92983"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga73d2a2d0f34a5a75318977bc1096d68b"><td class="memItemLeft" align="right" valign="top">BOOL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SYMBOLS.html#ga73d2a2d0f34a5a75318977bc1096d68b">SYM_IFuncResolver</a> (SYM x)</td></tr>
<tr class="separator:ga73d2a2d0f34a5a75318977bc1096d68b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9ed3c0327b560e2dc81ef1d0c5b2df99"><td class="memItemLeft" align="right" valign="top">ADDRINT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SYMBOLS.html#ga9ed3c0327b560e2dc81ef1d0c5b2df99">SYM_Value</a> (SYM x)</td></tr>
<tr class="separator:ga9ed3c0327b560e2dc81ef1d0c5b2df99"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab899cf983d7958d851b392686c66714a"><td class="memItemLeft" align="right" valign="top">UINT32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SYMBOLS.html#gab899cf983d7958d851b392686c66714a">SYM_Index</a> (SYM x)</td></tr>
<tr class="separator:gab899cf983d7958d851b392686c66714a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabe81096b16c38fdc442bc336c707530b"><td class="memItemLeft" align="right" valign="top">ADDRINT&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SYMBOLS.html#gabe81096b16c38fdc442bc336c707530b">SYM_Address</a> (SYM x)</td></tr>
<tr class="separator:gabe81096b16c38fdc442bc336c707530b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5d57f95572040c8a7db5488702716b9d"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__SYMBOLS.html#ga5d57f95572040c8a7db5488702716b9d">PIN_UndecorateSymbolName</a> (const std::string &amp;symbolName, <a class="el" href="group__SYMBOLS.html#ga8b0c33dda59c8d399096714c6307f23d">UNDECORATION</a> style)</td></tr>
<tr class="separator:ga5d57f95572040c8a7db5488702716b9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>Symbol objects provide information about function symbols in the application. See <a class="el" href="index.html#SYMBOLS">Symbols</a> for more information.</p>
<p>You must call <a class="el" href="group__PIN__CONTROL.html#ga5a74f4530db5d94bede1391c59e39939">PIN_InitSymbols</a> to make symbols available.</p>
<p>Can be accessed at instrumentation time and analysis time.<br  />
APIs from this group are available in any thread, including any internal thread spawned by the tool.</p>
<p>Iteration idioms:</p>
<div class="fragment"><div class="line"><span class="comment">// Forward pass over all symbols in an image</span></div>
<div class="line"><span class="keywordflow">for</span>( SYM sym= <a class="code" href="group__IMG.html#ga2d7ae0d04e4da064200e61750c2677ac">IMG_RegsymHead</a>(img); <a class="code" href="group__SYMBOLS.html#ga22feb0e88290967f67e25ffc8a520dc1">SYM_Valid</a>(sym); sym = <a class="code" href="group__SYMBOLS.html#ga5b8694c228627870fa2a43595b8ffc86">SYM_Next</a>(sym) )</div>
</div><!-- fragment --><dl class="section user"><dt>Availability:</dt><dd><b>Mode:</b> JIT &amp; Probe<br  />
<b>O/S</b>: Linux &amp; Windows<br  />
<b>CPU:</b> All<br  />
</dd></dl>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="ga8b0c33dda59c8d399096714c6307f23d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8b0c33dda59c8d399096714c6307f23d">&#9670;&nbsp;</a></span>UNDECORATION</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__SYMBOLS.html#ga8b0c33dda59c8d399096714c6307f23d">UNDECORATION</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Definitions for symbol undecoration</p>
<p>List of supported symbol name undecoration styles. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="gga8b0c33dda59c8d399096714c6307f23da869b5424f40c8d015768c8b0de405d4b"></a>UNDECORATION_COMPLETE&#160;</td><td class="fielddoc"><p>Undecorate to full symbol signature. </p>
</td></tr>
<tr><td class="fieldname"><a id="gga8b0c33dda59c8d399096714c6307f23da573ccc7d32ef44f469a6c0f367cbfedf"></a>UNDECORATION_NAME_ONLY&#160;</td><td class="fielddoc"><p>Undecorate to [scope::]name. </p>
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga5d57f95572040c8a7db5488702716b9d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5d57f95572040c8a7db5488702716b9d">&#9670;&nbsp;</a></span>PIN_UndecorateSymbolName()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string PIN_UndecorateSymbolName </td>
          <td>(</td>
          <td class="paramtype">const std::string &amp;&#160;</td>
          <td class="paramname"><em>symbolName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__SYMBOLS.html#ga8b0c33dda59c8d399096714c6307f23d">UNDECORATION</a>&#160;</td>
          <td class="paramname"><em>style</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Undecorate symbol name. <br  />
Provides undecoration of C++ names and decorated C names. The behavior of this function <br  />
is compiler and OS specific. <br  />
 The C++ mangled name is undecorated either to its full signature (UNDECORATION_COMPLETE style) <br  />
or to [scope::]name form (UNDECORATION_NAME_ONLY style). <br  />
 Example of undecoration of symbol generated by Microsoft compiler in Windows:<br  />
 </p><div class="fragment"><div class="line">Style                   Original name        Undecorated name</div>
<div class="line">=====================   ==================   ======================================</div>
<div class="line"><a class="code" href="group__SYMBOLS.html#gga8b0c33dda59c8d399096714c6307f23da869b5424f40c8d015768c8b0de405d4b">UNDECORATION_COMPLETE</a>   ?foo@ccc@@QAEPADH@Z  <span class="keyword">public</span>: <span class="keywordtype">char</span> * __thiscall ccc::foo(<span class="keywordtype">int</span>)</div>
<div class="line"><a class="code" href="group__SYMBOLS.html#gga8b0c33dda59c8d399096714c6307f23da573ccc7d32ef44f469a6c0f367cbfedf">UNDECORATION_NAME_ONLY</a>                       ccc::foo</div>
</div><!-- fragment --><p>Symbol name decorated according to Windows IA32 C calling conventions is undecorated as follows: <br  />
</p><div class="fragment"><div class="line">_foo     -&gt;  foo    (__cdecl    convention)</div>
<div class="line">_foo@4   -&gt;  foo    (__stdcall  convention)</div>
<div class="line">@foo@12  -&gt;  foo    (__fastcall convention)</div>
</div><!-- fragment --><p>Example of undecoration of symbol generated by GCC compiler on Linux:<br  />
 </p><div class="fragment"><div class="line">Style                   Original name                      Undecorated name</div>
<div class="line">=====================   ==================                 ======================================</div>
<div class="line"><a class="code" href="group__SYMBOLS.html#gga8b0c33dda59c8d399096714c6307f23da869b5424f40c8d015768c8b0de405d4b">UNDECORATION_COMPLETE</a>   _ZN1A7method1ERKSt6vectorIiSaIiEE  A::method1(std::vector&lt;<span class="keywordtype">int</span>, std::allocator&lt;int&gt; &gt; <span class="keyword">const</span>&amp;)</div>
<div class="line"><a class="code" href="group__SYMBOLS.html#gga8b0c33dda59c8d399096714c6307f23da573ccc7d32ef44f469a6c0f367cbfedf">UNDECORATION_NAME_ONLY</a>                                     A::method1</div>
</div><!-- fragment --><p>Undecoration of macOS* symbols is done similarly to Linux (Remove the leading '_' and undecorate like Linux)</p>
<p>You should be careful if using this function, since some of the undecorated names it generates for symbols generated by the compiler may not be valid C++ symbol names. For example on Linux demangling can give names like <code>construction vtable for std::istream-in-std::iostream</code>, or <code>non-virtual thunk to std::strstream::~strstream()</code>, which are not valid C++ names.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">symbolName</td><td>Decorated name <br  />
</td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">style</td><td>Undecoration style, relevant only to C++ undecoration <br  />
 Values: <br  />
 UNDECORATION_COMPLETE undecorate to full signature <br  />
 UNDECORATION_NAME_ONLY undecorate to [scope::]name <br  />
 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>string containing undecorated symbol name. <br  />
 If undecoration fails or not supported, the function returns the unmodified original name. <br  />
 </dd></dl>
<dl class="section user"><dt>Availability:</dt><dd><b>Mode:</b> JIT &amp; Probe<br  />
<b>O/S</b>: Windows, Linux &amp; macOS*<br  />
<b>CPU:</b> All<br  />
</dd></dl>

</div>
</div>
<a id="gabe81096b16c38fdc442bc336c707530b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gabe81096b16c38fdc442bc336c707530b">&#9670;&nbsp;</a></span>SYM_Address()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ADDRINT SYM_Address </td>
          <td>(</td>
          <td class="paramtype">SYM&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>address of the symbol in memory </dd></dl>

</div>
</div>
<a id="gad6c2b77869913517813f1e000778f6ff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad6c2b77869913517813f1e000778f6ff">&#9670;&nbsp;</a></span>SYM_Dynamic()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL SYM_Dynamic </td>
          <td>(</td>
          <td class="paramtype">SYM&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>True if x is a dynamic symbol </dd></dl>

</div>
</div>
<a id="gade3b1d3f6321f6ce86f6b51d5eebb030"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gade3b1d3f6321f6ce86f6b51d5eebb030">&#9670;&nbsp;</a></span>SYM_GeneratedByPin()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL SYM_GeneratedByPin </td>
          <td>(</td>
          <td class="paramtype">SYM&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>True if x is a symbol which did not appear in the image's original symbol table and was added by Pin (for example when resolving an ifunc). False if the symbol existed in the image's symbol table </dd></dl>

</div>
</div>
<a id="ga2f78e9f7400e375397964fd28bb92983"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2f78e9f7400e375397964fd28bb92983">&#9670;&nbsp;</a></span>SYM_IFuncImplementation()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL SYM_IFuncImplementation </td>
          <td>(</td>
          <td class="paramtype">SYM&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>True if x is an IFUNC implementation symbol </dd></dl>

</div>
</div>
<a id="ga73d2a2d0f34a5a75318977bc1096d68b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga73d2a2d0f34a5a75318977bc1096d68b">&#9670;&nbsp;</a></span>SYM_IFuncResolver()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL SYM_IFuncResolver </td>
          <td>(</td>
          <td class="paramtype">SYM&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>True if x is an IFUNC resolver symbol </dd></dl>

</div>
</div>
<a id="gab899cf983d7958d851b392686c66714a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab899cf983d7958d851b392686c66714a">&#9670;&nbsp;</a></span>SYM_Index()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">UINT32 SYM_Index </td>
          <td>(</td>
          <td class="paramtype">SYM&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>section index of a symbol </dd></dl>

</div>
</div>
<a id="ga17e013be5a1296fa67398439718d2391"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga17e013be5a1296fa67398439718d2391">&#9670;&nbsp;</a></span>SYM_Invalid()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SYM SYM_Invalid </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Used to indicate no symbol </dd></dl>

</div>
</div>
<a id="gaef5c779a90d7eb566bb2c940dcbf1efd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaef5c779a90d7eb566bb2c940dcbf1efd">&#9670;&nbsp;</a></span>SYM_Name()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const std::string&amp; SYM_Name </td>
          <td>(</td>
          <td class="paramtype">SYM&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Name of symbol </dd></dl>

</div>
</div>
<a id="ga5b8694c228627870fa2a43595b8ffc86"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga5b8694c228627870fa2a43595b8ffc86">&#9670;&nbsp;</a></span>SYM_Next()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SYM SYM_Next </td>
          <td>(</td>
          <td class="paramtype">SYM&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Routine that follows x, or <a class="el" href="group__SYMBOLS.html#ga17e013be5a1296fa67398439718d2391">SYM_Invalid()</a> if x is the last in the section </dd></dl>

</div>
</div>
<a id="ga23bee60e01a98b84bf5620e941dd5ba6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga23bee60e01a98b84bf5620e941dd5ba6">&#9670;&nbsp;</a></span>SYM_Prev()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">SYM SYM_Prev </td>
          <td>(</td>
          <td class="paramtype">SYM&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Routine that precedes x, or <a class="el" href="group__SYMBOLS.html#ga17e013be5a1296fa67398439718d2391">SYM_Invalid()</a> if x is the first in the section </dd></dl>

</div>
</div>
<a id="ga22feb0e88290967f67e25ffc8a520dc1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga22feb0e88290967f67e25ffc8a520dc1">&#9670;&nbsp;</a></span>SYM_Valid()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BOOL SYM_Valid </td>
          <td>(</td>
          <td class="paramtype">SYM&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>True if x is not <a class="el" href="group__SYMBOLS.html#ga17e013be5a1296fa67398439718d2391">SYM_Invalid()</a> </dd></dl>

</div>
</div>
<a id="ga9ed3c0327b560e2dc81ef1d0c5b2df99"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9ed3c0327b560e2dc81ef1d0c5b2df99">&#9670;&nbsp;</a></span>SYM_Value()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ADDRINT SYM_Value </td>
          <td>(</td>
          <td class="paramtype">SYM&#160;</td>
          <td class="paramname"><em>x</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Value of symbol, usually an address relative to beginning of image </dd></dl>

</div>
</div>
</div><!-- contents -->
<div class="ttc" id="agroup__SYMBOLS_html_gga8b0c33dda59c8d399096714c6307f23da573ccc7d32ef44f469a6c0f367cbfedf"><div class="ttname"><a href="group__SYMBOLS.html#gga8b0c33dda59c8d399096714c6307f23da573ccc7d32ef44f469a6c0f367cbfedf">UNDECORATION_NAME_ONLY</a></div><div class="ttdeci">@ UNDECORATION_NAME_ONLY</div><div class="ttdoc">Undecorate to [scope::]name.</div><div class="ttdef"><b>Definition:</b> sym_undecorate.PH:19</div></div>
<div class="ttc" id="agroup__SYMBOLS_html_ga5b8694c228627870fa2a43595b8ffc86"><div class="ttname"><a href="group__SYMBOLS.html#ga5b8694c228627870fa2a43595b8ffc86">SYM_Next</a></div><div class="ttdeci">SYM SYM_Next(SYM x)</div></div>
<div class="ttc" id="agroup__SYMBOLS_html_gga8b0c33dda59c8d399096714c6307f23da869b5424f40c8d015768c8b0de405d4b"><div class="ttname"><a href="group__SYMBOLS.html#gga8b0c33dda59c8d399096714c6307f23da869b5424f40c8d015768c8b0de405d4b">UNDECORATION_COMPLETE</a></div><div class="ttdeci">@ UNDECORATION_COMPLETE</div><div class="ttdoc">Undecorate to full symbol signature.</div><div class="ttdef"><b>Definition:</b> sym_undecorate.PH:18</div></div>
<div class="ttc" id="agroup__SYMBOLS_html_ga22feb0e88290967f67e25ffc8a520dc1"><div class="ttname"><a href="group__SYMBOLS.html#ga22feb0e88290967f67e25ffc8a520dc1">SYM_Valid</a></div><div class="ttdeci">BOOL SYM_Valid(SYM x)</div></div>
<div class="ttc" id="agroup__IMG_html_ga2d7ae0d04e4da064200e61750c2677ac"><div class="ttname"><a href="group__IMG.html#ga2d7ae0d04e4da064200e61750c2677ac">IMG_RegsymHead</a></div><div class="ttdeci">SYM IMG_RegsymHead(IMG img)</div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>
